package com.ruoyi.bbsAdmin.mapper;

import java.util.List;

import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.ruoyi.bbsAdmin.domain.Content;
import com.ruoyi.bbsAdmin.domain.Plate;
import com.ruoyi.bbsAdmin.domain.vo.contentRedisVo;
import com.ruoyi.bbsAdmin.domain.vo.contentVo;
import org.apache.ibatis.annotations.Param;

/**
 * 内容帖Mapper接口
 * 
 * @author ruoyi
 * @date 2022-04-01
 */
public interface ContentMapper extends BaseMapper<Content>
{
    /**
     * 查询内容帖
     * 
     * @param contentid 内容帖主键
     * @return 内容帖
     */
    public Content selectContentByContentid(String contentid);

    /**
     * 查询内容帖列表
     * 
     * @param content 内容帖
     * @return 内容帖集合
     */
    public List<Content> selectContentList(Content content);

    /**
     * 查询内容帖列表
     *
     * @param contentVo 内容帖
     * @return 内容帖集合
     */
    public List<contentVo> selectContentVoList(contentVo contentVo);

    public List<contentVo> selectHotPostList(contentVo contentVo);

    /**
     * 新增内容帖
     * 
     * @param content 内容帖
     * @return 结果
     */
    public int insertContent(Content content);

    /**
     * 修改内容帖
     * 
     * @param content 内容帖
     * @return 结果
     */
    public int updateContent(Content content);

    /**
     * 删除内容帖
     * 
     * @param contentid 内容帖主键
     * @return 结果
     */
    public int deleteContentByContentid(String contentid);

    /**
     * 批量删除内容帖
     * 
     * @param contentids 需要删除的数据主键集合
     * @return 结果
     */
    public int deleteContentByContentids(String[] contentids);

    /**
     * 查询内容帖列表
     *
     * @param content 内容帖
     * @return 内容帖集合
     */
    public List<Content> selectContentListByRole(@Param("content") Content content,@Param("schoolIdsList") List<String> schoolIdsList);

    contentRedisVo getContentVoById(@Param("contentId") String contentId);
    List<contentRedisVo> getWeekContentsWithQueryTime(@Param("schoolId") int schoolId,@Param("searchUserId") String searchUserId,@Param("plateId") String plateId,@Param("contentType") int contentType,@Param("queryTime") String queryTime);
    List<contentRedisVo> getWeekContentsWithQueryTime2(@Param("schoolId") int schoolId,@Param("queryTime") String queryTime);

    public List<contentVo> selectAllSchoolContentVoList(contentVo contentVo);



}
